appchooser: Plug a memory leak
authorMatthias Clasen <mclasen@redhat.com>
Mon, 14 Nov 2016 19:19:58 +0000 (14:19 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 14 Nov 2016 19:19:58 +0000 (14:19 -0500)
We were not dropping the reference that the model gives us.

https://bugzilla.gnome.org/show_bug.cgi?id=774352

gtk/gtkappchooserwidget.c

index f45348e7352c5309f301e69644d68a43dc408cc8..9a4103a8fc0681c43bcef919bb972a93aebbbd21 100644 (file)
@@ -161,17 +161,17 @@ refresh_and_emit_app_selected (GtkAppChooserWidget *self,
       if (!g_app_info_equal (self->priv->selected_app_info, info))
         {
           should_emit = TRUE;
-          g_object_unref (self->priv->selected_app_info);
-
-          self->priv->selected_app_info = info;
+          g_set_object (&self->priv->selected_app_info, info);
         }
     }
   else
     {
       should_emit = TRUE;
-      self->priv->selected_app_info = info;
+      g_set_object (&self->priv->selected_app_info, info);
     }
 
+  g_object_unref (info);
+
   if (should_emit)
     g_signal_emit (self, signals[SIGNAL_APPLICATION_SELECTED], 0,
                    self->priv->selected_app_info);